package cn.jbolt.ai.core.vdb;

import cn.jbolt.util.Result;
import com.jboltai.capability.vdb.collection.field.VDBField;
import com.jboltai.capability.vdb.search.VDBConditions;

import java.util.List;

public interface VdbCollectionService {
    /**
     * 往向量化数据库中的指定表插入数据
     *
     * @param collectionName     表名称
     * @param id
     * @param content     要向量化的内容
     * @param fieldValues
     */
    Result insertData(String vdbResourceId, String collectionName, String id, String content, Object... fieldValues);

    /**
     * 创建向量化数据库中的表
     * @param collectionName
     * @param list
     * @return
     */
    Result createCollection(String vdbId,String collectionName, List<VDBField> list);

    /**
     * 移除向量化数据库中的表
     * @param collectionName
     * @param
     * @return
     */
    Result removeCollection(String vdbId,String collectionName);

    /**
     * 根据id移除向量化数据库表中的数据
     * @param vdbId
     * @param collectionName
     * @param id
     * @return
     */
     Result removeDataById(String vdbId, String collectionName,String id);

    /**
     * 根据条件移除向量化数据库表中的数据
     * @param vdbId
     * @param collectionName
     * @param conditions
     * @return
     */
     Result removeDataByConditions(String vdbId, String collectionName, VDBConditions conditions);
}
